<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    <div id="root">
        姓：<input type="text" v-model='firstName'><br><br>
        名：<input type="text" v-model='lastName'><br><br>
        全名：<span>{{fullName}}</span>
    </div>
    <script>
        Vue.config.productionTip = false;

        let vm = new Vue({
            el: '#root',
            data: {
                firstName:'张',
                lastName:'三',
                fullName:'张-三',
            },
            watch: {
                // 当 firstName 发生改变，执行下面的方法
                // value是变化后的值
                firstName(value){
                    // 2秒钟后再改变
                    // 箭头函数中this指向为创建它的对象 (这里则是vm)
                    setTimeout(() => {
                        this.fullName = value +'-'+ this.lastName;
                    }, 2000); 
                },
                lastName(value){
                    this.fullName = this.firstName +'-'+ value;
                }
            }
        });
    </script>
</body>
</html>